package com.ysq.service;

import com.ysq.controller.result.Result;
import com.ysq.entity.User;

import javax.mail.MessagingException;
import javax.servlet.http.HttpSession;
import java.util.Map;

/**
 * ClassName: UserService
 * Package: com.ysq.service
 * Description:
 *
 * @Author YSQ
 * @Create 2023/1/5 - 14:34
 */
public interface UserService {
    /**
     * 邮箱发送验证码
     * @param user 里面有邮箱账号
     * @param session 存储发送的验证码, 在登录时拿出来对比
     * @return 发送成功返回true, 发送失败返回false
     */
    boolean sendMsg(User user, HttpSession session) throws MessagingException;

    /**
     * 用户登录业务
     * @param map 用户登录信息, 里面有phone键, 值对应邮箱信息, 有code键, 值对应用户输入的验证码
     * @param session 获取发送的验证码, 用来和输入的验证做对比
     * @return 返回统一结果封装用户信息
     */
    Result<User> login(Map<String, String> map, HttpSession session);
}
